// pages/shelter/shelter.js
//时间格式化用
var util = require('../../utils/util.js');

Page({
 
  /**
   * 页面的初始数据
   */
  data: {
    hosterid: null,
    srmessage: null,
    arr: [],
    temppath:null,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {


  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

    /* 初始化数据库 */
    const db = wx.cloud.database()
    db.collection('Books').get
      ({
        success: res => {
          //date时间格式化 
          for (let i = 0; i < res.data.length; i++) {
            var start = new Date(res.data[i].pubdate)
            var newtime = util.formatTime(start)
            res.data[i].pubdate = newtime
          }
          
          this.setData({
            arr: res.data
          });
          console.log('数据库查询成功:', res.data)
        },
        fail: err => {
          wx.showToast({
            icon: 'none',
            title: '查询记录失败'
          })
          console.error('数据库查询失败', err)
        }
      })

    /* 获取用户端口信息(openid) */
    wx.cloud.callFunction({
      name: 'information',
      complete: res => {
        console.log('callFunction test result: ', res)
        this.setData(
          {
            hosterid: res.result.OPENID
          }
        )
      }
    })


    //缓存初始化
    console.log('缓存初始化...')
    var storageData = wx.getStorageSync('postList');
    if (!storageData) {
      console.log('获取集合数据...')
      wx.cloud.callFunction({
        // 云函数:获取一个集合的数据
        name: 'getall',
        // 传给云函数的参数
        success: function (res) {
          var postList = res.result.data
          wx.clearStorageSync();
          wx.setStorageSync('postList', postList)
          console.log('集合数据获取成功...')
        },
        fail: console.log('getall云函数调用失败!!!')
      })
    } else {
      //缓存存在
      console.log('缓存存在')
      wx.cloud.callFunction({
        // 云函数:获取一个集合的数据
        name: 'getall',
        // 传给云函数的参数
        success: function (res) {
          var postList = res.result.data
          //判断云端数据是否和本地缓存相同
          if (postList.length != storageData.length) {

            //新增后的全部缓存中，保留原来的缓存部分
            for(let i=0;i<storageData.length;i++){
              postList[i] = storageData[i]
            }

            wx.clearStorageSync();
            wx.setStorageSync('postList', postList)
            console.log('本地缓存已经更新')
          } else {
            console.log('本地缓存无需更新')
          }
        },
        fail: console.log('getall云函数调用失败!!!')
      })
    }

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },

  Jumptoinfo: function (event) {


    var BookID = event.target.dataset.bookid
    var HosterID = this.data.hosterid
    console.log(event)
    wx.navigateTo({
      url: '../info/info?bookid=' + BookID + '&hosterid=' + HosterID 
    })
  },
  /**
 * 查询栏输入响应
 */
  input: function (e) {
    this.setData({ srmessage: e.detail.value })
  },

  searchbook: function () {
    if (this.data.srmessage != null) {
      const db = wx.cloud.database()
      const _ = db.command
      db.collection('Books').where({
        title: _.eq(this.data.srmessage)
      }).get
        ({
          success: res => {
            this.setData({
              arr: res.data
            });
            console.log('数据库查询成功:', res.data)
          },
          fail: err => {
            wx.showToast({
              icon: 'none',
              title: '查询记录失败'
            })
            console.error('数据库查询失败', err)
          }
        })
    } else {
      const db = wx.cloud.database()
      db.collection('Books').get
        ({
          success: res => {
            this.setData({
              arr: res.data
            });
            console.log('数据库查询成功:', res.data)
          },
          fail: err => {
            wx.showToast({
              icon: 'none',
              title: '查询记录失败'
            })
            console.error('数据库查询失败', err)
          }
        })
    }
  },

  //分类按钮
  clusterbutton: function () {
    wx.navigateTo({
      url: '../shelterchoose/shelterchoose',
    })
  },

  //扫一扫按钮
  saobutton: function () {
    var that = this
    wx.scanCode({
      success: (res) => {
        console.log("扫码成功", res.path);
        this.setData({
          temppath: res.path
        });

        //跳转路径以及参数的拼接
        var HosterID = that.data.hosterid
        var TempPath = that.data.temppath
        wx.navigateTo({
          url: TempPath + '&hosterid=' + HosterID
        })

        //内置显示信息提示框函数
        wx.showToast({
          title: '扫码成功',
          icon: 'success',
          duration: 1000          //提示的延迟时间
        })
      },
      fail: (res) => {
        wx.showToast({
          title: '扫码失败',
          icon: 'success',
          duration: 1000
        }),
        console.log('扫码失败',res);
      }
    })



  }



})